#!/bin/bash

# API Router 一键启动脚本 (Bash)
# 设置颜色
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color

echo -e "${CYAN}========================================${NC}"
echo -e "${YELLOW}    API Router 一键启动脚本${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""
echo -e "${GREEN}正在启动 API Router 服务器...${NC}"
echo -e "服务器地址: ${BLUE}http://localhost:3001${NC}"
echo ""
echo -e "${YELLOW}按 Ctrl+C 停止服务器${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""

# 检查 Node.js 是否安装
if ! command -v node &> /dev/null; then
    echo -e "${RED}❌ 错误: 未找到 Node.js${NC}"
    echo -e "${YELLOW}请先安装 Node.js: https://nodejs.org/${NC}"
    read -p "按回车键退出..."
    exit 1
fi

node_version=$(node --version)
echo -e "${GREEN}✅ Node.js 版本: $node_version${NC}"

# 检查依赖是否安装
if [ ! -d "node_modules" ]; then
    echo -e "${YELLOW}📦 正在安装依赖包...${NC}"
    npm install
    if [ $? -ne 0 ]; then
        echo -e "${RED}❌ 依赖安装失败${NC}"
        read -p "按回车键退出..."
        exit 1
    fi
    echo -e "${GREEN}✅ 依赖安装完成${NC}"
    echo ""
fi

# 检查数据库文件
if [ ! -f "db.json" ]; then
    echo -e "${YELLOW}⚠️  警告: 未找到 db.json 文件${NC}"
    echo -e "${YELLOW}将创建默认数据库文件...${NC}"
fi

# 启动服务器
echo -e "${GREEN}🚀 启动 API Router 服务器...${NC}"
echo ""

# 捕获中断信号
trap 'echo -e "\n${YELLOW}⚠️  服务器已停止${NC}"; exit 0' INT

# 启动服务器
node src/main/server.js

# 如果服务器意外退出
echo ""
echo -e "${YELLOW}⚠️  服务器已停止${NC}"
read -p "按回车键退出..."